package com.ruoyi.web.controller.demo.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * sys_email对象 sys_email
 * 
 * @author ruoyi
 * @date 2022-12-22
 */
public class SysEmail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键自增Id 主键 */
    @Excel(name = "主键自增Id 主键")
    private Long id;

    /** 邮件名称 */
    @Excel(name = "邮件名称")
    private String emailName;

    /** 所属部门 数字代号与部门联查出部门名称 */
    @Excel(name = "所属部门 数字代号与部门联查出部门名称")
    private Long emailDept;

    /** 邮件类型 0-普通邮件1-机密邮件 */
    @Excel(name = "邮件类型 0-普通邮件1-机密邮件")
    private Long type;

    /** 收件人 */
    @Excel(name = "收件人")
    private Long inId;

    /** 发件人 */
    @Excel(name = "发件人")
    private Long outId;

    /** 发件时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:SS")
    @Excel(name = "发件时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:SS")
    private Date outTime;

    /** 发件时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:SS")
    @Excel(name = "发件时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:SS")
    private Date createTime;

    /** 信件状态 0-已读1-未读 */
    @Excel(name = "信件状态 0-已读1-未读")
    private Long state;

    /** 信件位置 0-草稿1-发件 */
    private Long local;

    /** 发件人垃圾箱 0-不在-1-在垃圾箱里 */
    private Long outCrush;

    /** 收件人垃圾箱 0-不在-1-在垃圾箱里 */
    private Long inCrush;

    /** 内容 */
    @Excel(name = "内容")
    private String text;

    /** 信件持有人 0-发送人1-接受人 */
    private Integer emailOwner;

    /** 人员信息信息 */
    private List<SysWzxUser> sysWzxUserList;

    private SysWzxUser sysWzxUser;

    private String inName;
    private String outName;
    private String deptName;

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getInName() {
        return inName;
    }

    public void setInName(String inName) {
        this.inName = inName;
    }

    public String getOutName() {
        return outName;
    }

    public void setOutName(String outName) {
        this.outName = outName;
    }

    public SysWzxUser getSysWzxUser() {
        return sysWzxUser;
    }

    public void setSysWzxUser(SysWzxUser sysWzxUser) {
        this.sysWzxUser = sysWzxUser;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setEmailName(String emailName)
    {
        this.emailName = emailName;
    }

    public String getEmailName()
    {
        return emailName;
    }
    public void setEmailDept(Long emailDept)
    {
        this.emailDept = emailDept;
    }

    public Long getEmailDept()
    {
        return emailDept;
    }
    public void setType(Long type)
    {
        this.type = type;
    }

    public Long getType()
    {
        return type;
    }
    public void setInId(Long inId)
    {
        this.inId = inId;
    }

    public Long getInId()
    {
        return inId;
    }
    public void setOutId(Long outId)
    {
        this.outId = outId;
    }

    public Long getOutId()
    {
        return outId;
    }
    public void setOutTime(Date outTime)
    {
        this.outTime = outTime;
    }

    public Date getOutTime()
    {
        return outTime;
    }
    public void setState(Long state)
    {
        this.state = state;
    }

    public Long getState()
    {
        return state;
    }
    public void setLocal(Long local)
    {
        this.local = local;
    }

    public Long getLocal()
    {
        return local;
    }
    public void setOutCrush(Long outCrush)
    {
        this.outCrush = outCrush;
    }

    public Long getOutCrush()
    {
        return outCrush;
    }
    public void setInCrush(Long inCrush)
    {
        this.inCrush = inCrush;
    }

    public Long getInCrush()
    {
        return inCrush;
    }
    public void setText(String text)
    {
        this.text = text;
    }

    public String getText()
    {
        return text;
    }
    public void setEmailOwner(Integer emailOwner)
    {
        this.emailOwner = emailOwner;
    }

    public Integer getEmailOwner()
    {
        return emailOwner;
    }

    public List<SysWzxUser> getSysWzxUserList()
    {
        return sysWzxUserList;
    }

    public void setSysWzxUserList(List<SysWzxUser> sysWzxUserList)
    {
        this.sysWzxUserList = sysWzxUserList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("emailName", getEmailName())
                .append("emailDept", getEmailDept())
                .append("type", getType())
                .append("inId", getInId())
                .append("outId", getOutId())
                .append("outTime", getOutTime())
                .append("createTime", getCreateTime())
                .append("state", getState())
                .append("local", getLocal())
                .append("outCrush", getOutCrush())
                .append("inCrush", getInCrush())
                .append("text", getText())
                .append("emailOwner", getEmailOwner())
                .append("sysWzxUserList", getSysWzxUserList())
                .toString();
    }
}
